#ifndef REQP_H
#define REQP_H 
#include "Constants.h"
#include <errno.h>
#include <stdarg.h>

typedef struct requestparameter{
   /* 参数内容 */
   char argv[BUFF_SIZE];
   struct requestparameter* next;
}RequestParameter;


RequestParameter* createNode(const char* arg);
void freeLinkedList(RequestParameter* head);

void printLinkedList(RequestParameter* head);

void appendNode(RequestParameter** head, const char* arg);

RequestParameter* createLinkedList(int numElements, ...);

/**
 * @brief 传入需要发送的参数链表
*/
void sendLinkedList(int socketfd, RequestParameter* head);

/**
 * @brief 传入需要接收的参数个数，接收后返回参数链表的头指针
*/
RequestParameter *recvLinkedList(int socketfd, int argcnt);
#endif // !REQP_H